<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@page import="Modelo.*"%>
<%@page import="javax.swing.JOptionPane"%>
<%@page import ="java.util.StringTokenizer"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>


        <%String tipo = (String) request.getParameter("tipopre");
        if (tipo.equals("1")) {

            String nombre=new String(request.getParameter("contenido").getBytes("ISO-8859-1"),"UTF-8");
            String max = (String) request.getParameter("max");
            if (max != null && max.equals("")) {
                max = "Ilimitada";
            } else {
                String maximo = (String) request.getParameter("max");
                max = maximo;
            }

            String ancho1 = (String) request.getParameter("ancho");

            String ancho2[] = ancho1.split("px");
            String alto = "25";

            Long id = new PreguntaAbierta().agregarP(nombre, tipo, max, alto, ancho2[0]);
            String idin = (String) request.getParameter("indicadores");
            if (idin != null && !idin.equals("0")) {
                new Pregunta().asociarIndicador(id, Long.parseLong(idin));
                new Indicador().asignarP(Long.parseLong(idin), new Pregunta().findPregunta(id));
            }

        } else {
            if (tipo.equals("2")) {
                String nombre=new String(request.getParameter("contenido").getBytes("ISO-8859-1"),"UTF-8");
                String max = (String) request.getParameter("max");
                if (max != null && max.equals("")) {
                    max = "Ilimitada";
                } else {
                    String maximo = (String) request.getParameter("max");
                    max = maximo;
                }
                String ancho1 = (String) request.getParameter("ancho");
                String alto1 = (String) request.getParameter("alto");
                String ancho2[] = ancho1.split("px");
                String alto2[] = alto1.split("px");
                Long id = new PreguntaAbierta().agregarP(nombre, tipo, max, alto2[0], ancho2[0]);
                String idin = (String) request.getParameter("indicadores");
                if (idin != null && !idin.equals("0")) {
                    new Pregunta().asociarIndicador(id, Long.parseLong(idin));
                    new Indicador().asignarP(Long.parseLong(idin), new Pregunta().findPregunta(id));
                }
            } else {
                if (tipo.equals("3") || tipo.equals("4")) {
                    String pregunta=new String(request.getParameter("contenido").getBytes("ISO-8859-1"),"UTF-8");
                    String respuestas=new String(request.getParameter("respuestas").getBytes("ISO-8859-1"),"UTF-8");
                    String checkbox = (String) request.getParameter("abierta");
                    boolean otro = false;
                    if (checkbox != null && checkbox.equals("on")) {
                        otro = true;
                    }


                    Long id = new PreguntaCerrada().agregarP(pregunta, tipo, otro);

                     String idin = (String) request.getParameter("indicadores");
                    if (idin != null && !idin.equals("0")) {
                    new Pregunta().asociarIndicador(id, Long.parseLong(idin));
                    new Indicador().asignarP(Long.parseLong(idin), new Pregunta().findPregunta(id));
                    }

                  StringTokenizer tokens = new StringTokenizer(respuestas, "\n");

                    while (tokens.hasMoreTokens()) {
                        String aux1 = tokens.nextToken();
                        PreguntaCerrada prec = new PreguntaCerrada();
                        Respuesta res = new Respuesta(aux1);
                        prec.asignarR(id, res);
                    }

                } else {
                    if (tipo.equals("5")) {
                        String pregunta=new String(request.getParameter("pregunta").getBytes("ISO-8859-1"),"UTF-8");
                        String subpreguntas=new String(request.getParameter("subpregunta").getBytes("ISO-8859-1"),"UTF-8");
                        String respuestas=new String(request.getParameter("respuestas").getBytes("ISO-8859-1"),"UTF-8");



                        Long idP = new PreguntaCompuesta().agregarP(pregunta);
                        StringTokenizer etiquetas = new StringTokenizer(subpreguntas, "\n");
                        String[] opciones = respuestas.split("\n");

                            String idin = (String) request.getParameter("indicadores");
                            if (idin != null && !idin.equals("0")) {
                            new Pregunta().asociarIndicador(idP, Long.parseLong(idin));
                            new Indicador().asignarP(Long.parseLong(idin), new Pregunta().findPregunta(idP));
                            }

                        while (etiquetas.hasMoreTokens()) {
                            String aux5 = etiquetas.nextToken();
                            Long idEt = new Etiqueta().agregarE(aux5);
                            Etiqueta et = new Etiqueta();

                            for (int i = 0; i < opciones.length; i++) {
                                String aux6 = opciones[i];
                                Respuesta res = new Respuesta(aux6);
                                et.asignarR(idEt, res);
                            }

                            new PreguntaCompuesta().asignarE(idP, idEt);
                        }
                    }
                }
              }
            }

            response.sendRedirect(request.getContextPath() + "/pregunta/mostrar.jsp");
        %>
    </body>
</html>
